home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / taropyon / guilib3 / inc / kyb.h < prev    next >
C/C++ Source or Header  |  1993-11-30  |  3KB  |  79 lines

  1. /*    :*****************************************************************
  2.     :    "kyb.h"    :    system“Pride”キーボード・ライブラリ
  3.     :*****************************************************************
  4. */
  5. #ifndef    _KYB_H
  6. #define    _KYB_H
  7.  
  8. #ifndef    _GUIDEFS_H
  9. #    include    "guidefs.h"
  10. #endif
  11. #ifndef    _KKSTR2_H
  12. #    define    _KKSTR2_H
  13. #    include    <kkstr2.h>
  14. #endif
  15.  
  16. #define    KYBUF_SIZE    (64)
  17.  
  18. typedef    struct
  19. {    USHORT    ch;
  20.     USHORT    ec;
  21. } KYBUF;
  22.  
  23. extern    KYBUF    KyBuf[KYBUF_SIZE];
  24. extern    int        KyBufLen;                    /* バッファ内の有効文字数    */
  25. extern    UINT    KyBufPtr;                    /* バッファ内の現在ポインタ    */
  26. extern    UINT    KyReadPtr;                    /* バッファ内の読込ポインタ    */
  27. extern    char    KyRepCut;                    /* リピート禁止                */
  28.                                             /* SideWork等カラ 受ケ取ル時ハ 解除スルコト    */
  29. extern    char    KanDspFlag;
  30. extern    char    *KanStrPtr;                    /* 文字列取得ポインタ    */
  31. extern    SHORT    KanX, KanY;                    /* 未確定文字表示位置    */
  32. extern    void    (*MiLoopFunc)();            /* 未確定文字表示中の実行関数    */
  33. extern    char    KyHitFlag;                    /* キー入力はあったか?        */
  34. extern    int        KyMiDsp;                    /* 未確定文字表示中??        */
  35.  
  36.  
  37. extern    int        kbhit(void);
  38. extern    int        getkey( UINT *ec );
  39. extern    int        inpchk( UINT *ec );
  40. extern    void    KBF_clear(void);
  41. extern    void    KBF_kan_off(void);
  42. extern    void    KBF_kan_on(void);
  43. extern    int        KBF_kan_getMode(void);
  44. extern    void    KBF_kan_setMode(int md);
  45. extern    void    KBF_sysInit(void);
  46. extern    void    KBF_sysEnd(void);
  47. extern    void    KBF_sysPause(void);
  48. extern    void    KBF_sysContinue(void);
  49.  
  50. #define    KAN_SET_POS(x,y)    {KanX=(x); KanY=(y);}
  51. #define    KAN_SET_STR(s)        {KanStrPtr = (s);}
  52.  
  53. #ifndef    KAN_ROUMAZIOFF
  54.     /****************************************/
  55.     /*  KAN_setMode用定数定義               */
  56.     /****************************************/
  57. #    define    KAN_ROUMAZIOFF    0x00000010    /*    通常入力        */
  58. #    define    KAN_ROUMAZI        0x00000020    /*    ローマ字入力    */
  59. #    define    KAN_HANKAKU        0x00000040    /*    半角入力        */
  60. #    define    KAN_ZENKAKU        0x00000080    /*    全角入力        */
  61. #    define    KAN_EISUU        0x00000100    /*    英数入力        */
  62. #    define    KAN_KATAKANA    0x00000200    /*    カタカナ入力    */
  63. #    define    KAN_HIRAGANA    0x00000400    /*    ひらがな入力    */
  64. #    define    KAN_MODELOCKOFF    0x00000000    /*    モード固定解除    */
  65. #    define    KAN_MODELOCK    0x00010000    /*    モード固定設定    */
  66. #    define    KAN_EISYOU        0x00000000    /*    英小入力        */
  67. #    define    KAN_EIDAI        0x00020000    /*    英大入力        */
  68. #endif
  69.  
  70. #define    KAN_SETMODE_HAN()    KBF_kan_setMode(KAN_HANKAKU|KAN_EISUU|KAN_EISYOU)
  71. #define    KAN_SETMODE_JNP()    {                                \
  72.     int        km = KBF_kan_getMode();                            \
  73.     if ( km < 0 ) { KBF_kan_on(); km = KBF_kan_getMode();    \
  74.     km = (km & 0xFFFFF0FF) | KAN_HIRAGANA;                    \
  75.     KBF_kan_setMode(km);                                    \
  76. }
  77.  
  78. #endif
  79.